Welcome to pandas!

1.6 numpy缺失值的处理

缺失值是没有任何值的空元素,如导入excel文件后,如有单元格没有任何值,则会显示NaN或NaT(缺失时间),有numpy中也可以通过np.nan生成缺失值

如果要判断数组中是滞有缺失值,则使用np.isnan()函数,将返回由布尔值组成的数组,还可以给缺失值填充指定的值

1.6.1 缺失值的写入

import numpy as np

arr=np.array([ 1,2,np.nan,4 ])

print (arr)

返回:

[ 1. 2. nan 4.]     #数据的元素变成了浮点型,原来是整数


1.6.1 判断数据是否存在缺失值

import numpy as np

arr=np.array([ 1,2,np.nan,4 ])

print (np.isnan(arr))

返回:

[False False True False]


1.6.2将缺失值填充为指定值

import numpy as np

arr=np.array([ 1,2,np.nan,4 ])

arr[np.isnan(arr)]=999

arr.astype('i2')     #默认返回值为浮点型,此次指定返回值为长整型

print (arr)

返回:

[ 1. 2. 999. 4.]


1.6.3 excel文件空单元格写入指定值

import pandas as pd

path=r 'D:\pythonCharm\PyObject\Object\测试\简单测试.xlsx'

df=pd.read_excel (path)

arr=np.array(df[ '入职日期' ])   #写入数组

arr[np.isnan(arr)]=999   #空值指定值

df[ "入职日期" ]=arr   #已修改的数据再返回数组显示

print (arr)

返回:

[45231. 999. 44384.]


1.6.4 excel文件导入数据并转换格式

import pandas as pd

path=r "D:\Pyobject2023\object\测试\素材\1.1.4 Numpy数组转换.xlsx"

df=pd.read_excel (path)

arr=pd.to_datetime(df[ '入职日期' ], unit = "D" , origin= '1899-12-30' )     #导入并转换格式

arr[np.isnan(arr)]=999

df[ "入职日期" ]=arr

print (arr)

返回:

0 2023-11-01 00:00:00

1 999

2 2021-07-07 00:00:00

Name: 入职日期, dtype: object